package com.belf.console.service;

import com.belf.common.core.domain.AjaxResult;
import com.belf.console.domain.GenerateDataInfo;

import java.util.List;

public interface IGenerateDataInfoService {

    /**
     * 新增生成数据信息
     * @param dataInfo 数据源信息
     * @return 结果
     */
    int insertGenerateDataInfo(GenerateDataInfo dataInfo);

    /**
     * 查询生成数据信息集合
     * @param generateDataInfo
     * @return
     */
    List<GenerateDataInfo> selectGenerateDataInfoList(GenerateDataInfo generateDataInfo);

    /**
     * 查询数据源信息总和
     * @param generateDataInfo
     * @return
     */
    long selectDataCount(GenerateDataInfo generateDataInfo);

    /**
     * 根据主键查询生成数据信息
     * @param id
     * @return
     */
    GenerateDataInfo selectGenerateDataInfoById(int id);

    /**
     * 更新生成数据信息
     * @param generateDataInfo
     * @return
     */
    int updateGenerateDataInfo(GenerateDataInfo generateDataInfo);

    /**
     * 删除生成数据信息
     * @param id
     * @return
     */
    int deleteGenerateDataInfoById(String id);

    /**
     * 批量删除生成数据信息
     * @param ids
     * @return
     */
    int deleteGenerateDataInfoByIds(String[] ids);

    /**
     * 生成源端数据
     * @param dataInfo
     * @return
     */
    AjaxResult generateSourceData(GenerateDataInfo dataInfo);

    /**
     * 创建任务
     * @param dataInfo
     * @return
     */
    AjaxResult createSyncTask(GenerateDataInfo dataInfo);
}
